package com.luoran.bartalks.dao;

import java.util.List;

import org.beetl.sql.core.annotatoin.Param;
import org.beetl.sql.core.mapper.BaseMapper;

import com.luoran.bartalks.entity.biz.BtRegion;

public interface IBtRegionDao extends BaseMapper<BtRegion> {

	/**
	 * 根据公司编码获取区域
	 * 
	 * @param companyId
	 * @return
	 */
	List<BtRegion> getRegionByCompanyId(@Param("companyId") String companyId);

	/**
	 * 根据区域编码，公司编码查询区域信息
	 * 
	 * @param regionCode
	 * @param companyId
	 * @return
	 */
	BtRegion getRegionByRegCode(@Param("regionCode") String regionCode, @Param("companyId") String companyId);

	/**
	 * 根据区域id更新区域信息
	 * 
	 * @paramregionCode
	 * @param companyId
	 * @return
	 */
	void updateRegById(BtRegion btRegion);

	/**
	 * 根据区域id删除区域信息
	 * 
	 * @param btRegion
	 * @return
	 */
	void deleteRegById(BtRegion btRegion);

	/**
	 * 根据区域Code查选区域信息
	 * 
	 * @param regioncode
	 * @return BtRegion
	 */
	BtRegion getRegionByRegionCode(@Param("regionCode") String regioncode);

	/**
	 * 查询模版公司区域信息
	 * 
	 * @ @param
	 *       companyId
	 * @return
	 */
	List<BtRegion> getTreeList(@Param("companyId") String companyId);

	/**
	 * 根据公司ID删除所有区域信息
	 * 
	 * @param companyId
	 * @return
	 */
	void deleteRegionByCompanyId(@Param("companyId") String companyId);

	// 根据Id in 查询
	List<BtRegion> getByIds(@Param("ids") List<String> ids);
	
	// 根据code  公司ID in 查询
	List<BtRegion> getByCodes(@Param("codes") List<String> codes,@Param("companyId") String companyId);
	
	
}
